package io.github.biezhi.elves.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Insert;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;

import com.github.pagehelper.Page;

import io.github.biezhi.elves.model.CrawlTableHotel;
import io.github.biezhi.elves.model.HotelInfo;

/**
 * 金融酒店/会所数据层
 *
 */
public interface HotelMapper {
	/*******************************查询金融酒店/会所 开始*********************************************************/
	/**
	 * 查询还没爬取酒店会所列表数据
	 * @return
	 */
	@Select("select count(1) from li_crawl_table_hotel_data t where t.is_load = 'F' and t.is_null = 'F'")
	public int countCrawlTableHotelDataForNotLoad();
	
	/**
	 * 分页查询爬取酒店会所列表数据
	 * @return
	 */
	@Select("select * from li_crawl_table_hotel_data t where t.is_load = 'F' and t.is_null = 'F'")
	public Page<CrawlTableHotel> queryCrawlTableHotelDataPage();
	
	/**
	 * 分页查询爬取酒店会所为空列表数据
	 * @return
	 */
	@Select("select * from li_crawl_table_hotel_data t where t.is_load = 'F' and t.is_null = 'T'")
	public Page<CrawlTableHotel> queryCrawlTableHotelIsNullDataPage();
	/*******************************查询金融酒店/会所 结束*********************************************************/
	
	/*******************************新增金融酒店/会所 开始*********************************************************/
	/**
	 * 批量保存酒店/会所数据
	 * @param list
	 */
	public void batchSaveHotelInfo(List<HotelInfo> list) throws Exception;
	
	 /**
	  * 创建酒店/会所数据备份表(表名+统计数)
	  * @param tableName
	  * @param count
	  * @throws Exception
	  */
	 @Insert("create table ${tableName}${count} as select * from ${tableName}")
	 public void createTableName(@Param("tableName") String tableName,@Param("count") int count) throws Exception;
	/*******************************新增金融酒店/会所 结束*********************************************************/
	
	/*******************************修改金融酒店/会所 开始*********************************************************/
	/**
	  * 根据酒店/会所名称批量更新爬取列表数据表设置is_load字段为T(意指在百度拾取坐标系统网站搜索到坐标数据并入库)
	  * @param list
	  */
	 public void batchUpdateCrawlTableHotelDataForIsLoad(List<CrawlTableHotel> list) throws Exception;
	 
	 /**
	  * 根据酒店/会所名称批量更新爬取列表数据表设置is_null字段为T(意指在百度拾取坐标系统网站没有搜索到坐标数据)
	  * @param list
	  */
	 public void batchUpdateCrawlTableHotelDataForIsNull(List<CrawlTableHotel> list) throws Exception;
	/*******************************修改金融酒店/会所 结束*********************************************************/
	
	/*******************************删除金融酒店/会所 开始*********************************************************/
	/*******************************删除金融酒店/会所 结束*********************************************************/
}